The performance of functional programming is, in general, not comparable to system programming typically used to build database management systems (DBMS). The R programming environment is an example of a main memory-based functional programming language. Because the R programming environment is main memory based, it cannot be readily scaled for use with larger data sets. For example, using an R program to execute operations on large data sets and heavy iterations, such as OLAP operations, is often very inefficient. These issues cannot be fully solved simply by increasing processor power and number of processing cores.
By way of illustration, a high-performance, column-based parallel database engine can read data from a database 10,000 times faster than using the corresponding R program to read data into the R programming environment. But even if the R program can be split into 100 parallel threads to execute multi-level, multi-dimensional OLAP operations with sizable input data, for example, the execution time is still 100 times slower than query processing.